﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Ferreteria.Forms
{
    public partial class frmAgregarProveedor : Form
    {
        public Proveedores nuevoProveedor;
        DisancoEntities context;

        public frmAgregarProveedor(DisancoEntities context)
        {
            InitializeComponent();

            //context = new DisancoEntities();
            this.context = context;
            
            foreach (var rubro in context.Rubros)
            {
                chkList.Items.Add(rubro.rubro_nombre);
            }
        }

        private void btnProveedor_Click(object sender, EventArgs e)
        {
            if (txbProvNombre.Text != "")
            {
                var existe = false;

                foreach (var prov in context.Proveedores)
                {
                    if (prov.prov_nombre == txbProvNombre.Text)
                    {
                        existe = true;
                        break;
                    }
                }

                if (!existe)
                {
                    try
                    {
                        nuevoProveedor = new Proveedores();
                        nuevoProveedor.prov_nombre = txbProvNombre.Text;
                        nuevoProveedor.prov_direccion = txbProvDireccion.Text;
                        nuevoProveedor.prov_ubicacion = txbProvUbicacion.Text;
                        nuevoProveedor.prov_provincia = txbProvincia.Text;
                        nuevoProveedor.prov_localidad = txbLocalidad.Text;
                        nuevoProveedor.prov_tel1 = txbTel1.Text;
                        
                        foreach (var item in chkList.CheckedItems)
                        {
                            string nombreRubro = item.ToString();

                            foreach (var rubro in context.Rubros)
                            {
                                if (rubro.rubro_nombre == nombreRubro)
                                {
                                    nuevoProveedor.Rubros.Add(rubro);
                                }
                            }
                        }

                        this.context.Proveedores.AddObject(nuevoProveedor);

                        context.SaveChanges();

                        Close();
                    }
                    catch (Exception error)
                    {
                        MessageBox.Show(error.ToString());
                    }
                }
                else
                {
                    MessageBox.Show("Ya existe un proveedor con ese nombre");
                }
            }
            else
            {
                MessageBox.Show("El campo nombre no puede estar vacio");
            }
        }

        }
}
